package com.xsd.Factory.simpleFactory.pizzastore.pizza;

/**
 * @Description:
 * @Author: zhoufuzong
 * @Created: 2021-01-23 16:16:49
 * @Version: 1.1.0
 */

/**
 * 1) 抽象工厂模式：定义了一个interface用于创建相关或有依赖关系的对象簇，而无需
 * 指明具体的类
 * 2) 抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合。
 * 3) 从设计层面看，抽象工厂模式就是对简单工厂模式的改进(或者称为进一步的抽象)。
 * 4) 将工厂抽象成两层，AbsFactory(抽象工厂) 和 具体实现的工厂子类。程序员可以
 * 根据创建对象类型使用对应的工厂子类。这样将单个的简单工厂类变成了工厂簇，
 * 更利于代码的维护和扩展。
 * 5) 类图
 */
public abstract class Pizza {
    /**名字*/
    protected String name;



    // 准备原材料，不同的披萨不一样，因此，做成一个抽象的方法
    public abstract void prepare();

    public void bake(){
        System.out.println(name+"baking");
    }

    public void cut(){
        System.out.println(name+"cuting");

    }

    public void box(){
        System.out.println(name+"boxing");
    }

    public  void setName(String s){
        this.name=s;
    };
}
